package org.lanyu.springainovel.novel.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Min;
import lombok.Data;

/**
 * 小说大纲生成请求VO
 */
@Data
@Schema(name = "小说大纲生成请求参数")
public class NovelOutlineRequest {
    
    @Schema(description = "模型ID", required = true)
    @NotNull(message = "模型ID不能为空")
    private Long modelId;
    
    @Schema(description = "用户提示词", required = true)
    @NotBlank(message = "用户提示词不能为空")
    private String userPrompt;
    
    @Schema(description = "系统提示词模板ID", required = true)
    @NotNull(message = "系统提示词模板ID不能为空")
    private Long systemPromptId;
    
    @Schema(description = "书籍ID（非必填，如果提供则更新现有书籍的大纲，否则创建新书籍）")
    private Long bookId;
}